#pragma once

#ifndef SOUNDMANAGER_H
#define SOUNDMANAGER_H

#include <map>
#include <string>
#include <SFML\Audio.hpp>

using namespace std;
using namespace sf;

//#define DEBUG_PATHS

#ifdef DEBUG_PATHS
const string soundsPath = "../../../assets/sounds/";
#else
const string soundsPath = "./assets/sounds/";
#endif


class SoundManager
{
public:
	SoundManager();
	~SoundManager();

	bool loadSound(const string &name);

	SoundBuffer* getSoundBuffer(const string &name);

	void playSound(const string &name);

	/// Removes all sounds.
	void clear();

private:
	static const int MAX_SOUNDS = 15;

	map<string, SoundBuffer*> m_sounds;

	Sound m_soundVector[MAX_SOUNDS];
};

#endif